from math import *
from PublicReference.base import *

class 职业主动技能(主动技能):

    data0 = []
    data1 = []
    data2 = []

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率

    # def 等效CD(self, 武器类型):
    #     # 战戟1.1
    #     return round(self.CD  / self.恢复 * 1.1, 1)

class 技能0(被动技能):
    名称 = '战戟精通'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        return 1.0

    def 武器倍率(self):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.1 + 0.02 * self.等级, 5)

# 霸王戟=猛攻  有TP0.1
class 技能1(被动技能):
    名称 = '战戟猛攻'
    所在等级 = 25
    等级上限 = 30
    基础等级 = 20
    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 20:
            return round(1 + 0.005 * self.等级, 5)
        else:
            return round(1.1 + 0.02 * (self.等级 - 20), 5)

    def 物理攻击力倍率进图(self, 武器类型):
        return self.加成倍率(武器类型)

class 技能2(被动技能):
    名称 = '战戟之魂'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能3(被动技能):
    名称 = '战神之力'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)

# 霸王机吃精通吗？
class 技能4(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    基础等级 = 100
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能5(职业主动技能):
    名称 = '霸王戟'
    所在等级 = 25
    等级上限 = 1
    基础等级 = 1
    是否主动 = 0
    data0 = [0, 2578, 2890, 3202, 3514, 3825, 4137, 4449, 4761, 5072, 5384, 5696, 6008, 6319, 6631, 6943, 7255, 7566, 7878, 8190, 8501, 8813, 9125, 9437, 9748, 10060, 10372, 10684, 10995, 11307, 11619]
    攻击次数 = 1
    # 基础 = 2281
    # 成长 = 311
    CD = 0.5
    TP成长 = 0.10
    TP上限 = 5

# 果体测试就2段+1段
class 技能6(职业主动技能):
    名称 = '破军突击'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    # 基础 = 2476   #2585 3次  #测试只有2段+1
    # 成长 = 291   #307
    data0 = [0, 149, 164, 180, 195, 210, 225, 240, 256, 271, 286, 301, 316, 332, 347, 362, 377, 392, 408, 423, 438, 453, 468, 484, 499, 514, 529, 544, 560, 575, 590, 605, 620, 636, 651, 666, 681, 696, 711, 727, 742, 757, 772, 787, 803, 818, 833, 848, 863, 879, 894, 909, 924, 939, 955, 970, 985, 1000, 1015, 1031, 1046, 1061, 1076, 1091, 1107, 1122, 1137, 1152, 1167, 1183, 1198]
    攻击次数=2
    data1 = [0, 2546, 2804, 3062, 3321, 3579, 3837, 4096, 4354, 4612, 4871, 5129, 5387, 5646, 5904, 6162, 6420, 6679, 6937, 7195, 7454, 7712, 7970, 8229, 8487, 8745, 9004, 9262, 9520, 9779, 10037, 10295, 10553, 10812, 11070, 11328, 11587, 11845, 12103, 12362, 12620, 12878, 13137, 13395, 13653, 13912, 14170, 14428, 14686, 14945, 15203, 15461, 15720, 15978, 16236, 16495, 16753, 17011, 17270, 17528, 17786, 18045, 18303, 18561, 18820, 19078, 19336, 19594, 19853, 20111, 20369]
    攻击次数2=1
    CD = 5
    # TP成长 = 0.10
    # TP上限 = 5


class 技能7(职业主动技能):
    名称 = '追魂斩'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 基础 = 3172
    # 成长 = 360
    data0 = [0, 1772, 1952, 2132, 2312, 2492, 2671, 2851, 3031, 3211, 3391, 3571, 3751, 3930, 4110, 4290, 4470, 4650, 4830, 5009, 5189, 5369, 5549, 5729, 5909, 6089, 6268, 6448, 6628, 6808, 6988, 7168, 7347, 7527, 7707, 7887, 8067, 8247, 8427, 8606, 8786, 8966, 9146, 9326, 9506, 9685, 9865, 10045, 10225, 10405, 10585, 10764, 10944, 11124, 11304, 11484, 11664, 11844, 12023, 12203, 12383, 12563, 12743, 12923, 13102, 13282, 13462, 13642, 13822, 14002, 14182]
    攻击次数 = 2

    CD = 6
    TP成长 = 0.10
    TP上限 = 5


class 技能8(职业主动技能):
    名称 = '落月斩'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    data0 = [0, 4764, 5247, 5730, 6214, 6697, 7180, 7664, 8147, 8630, 9114, 9597, 10080, 10563, 11047, 11530, 12013, 12497, 12980, 13463, 13947, 14430, 14913, 15397, 15880, 16363, 16847, 17330, 17813, 18297, 18780, 19263, 19747, 20230, 20713, 21197, 21680, 22163, 22646, 23130, 23613, 24096, 24580, 25063, 25546, 26030, 26513, 26996, 27480, 27963, 28446, 28930, 29413, 29896, 30380, 30863, 31346, 31830, 32313, 32796, 33279, 33763, 34246, 34729, 35213, 35696, 36179, 36663, 37146, 37629, 38113]
    攻击次数 = 1
    # 基础 = 4292
    # 成长 = 483
    CD = 7
    TP成长 = 0.10
    TP上限 = 5


class 技能9(职业主动技能):
    名称 = '冷血突刺'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    #刺击攻击力：<data0>%
    data0 = [0, 5714, 6294, 6874, 7454, 8034, 8613, 9193, 9773, 10353, 10932, 11512, 12092, 12672, 13251, 13831, 14411, 14991, 15571, 16150, 16730, 17310, 17890, 18469, 19049, 19629, 20209, 20789, 21368, 21948, 22528, 23108, 23687, 24267, 24847, 25427, 26006, 26586, 27166, 27746, 28326, 28905, 29485, 30065, 30645, 31224, 31804, 32384, 32964, 33544, 34123, 34703, 35283, 35863, 36442, 37022, 37602, 38182, 38761, 39341, 39921, 40501, 41081, 41660, 42240, 42820, 43400, 43979, 44559, 45139, 45719]
    #每1次旋风打击的攻击力：<data1>%
    data1 = [0, 634, 699, 763, 828, 892, 957, 1021, 1085, 1150, 1214, 1279, 1343, 1408, 1472, 1536, 1601, 1665, 1730, 1794, 1858, 1923, 1987, 2052, 2116, 2181, 2245, 2309, 2374, 2438, 2503, 2567, 2631, 2696, 2760, 2825, 2889, 2954, 3018, 3082, 3147, 3211, 3276, 3340, 3405, 3469, 3533, 3598, 3662, 3727, 3791, 3855, 3920, 3984, 4049, 4113, 4178, 4242, 4306, 4371, 4435, 4500, 4564, 4628, 4693, 4757, 4822, 4886, 4951, 5015, 5079]
    攻击次数2 = 6
    # 基础 = 8672
    # 成长 = 963
    CD = 16
    TP成长 = 0.10
    TP上限 = 5

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.2
        elif x == 1:
            self.倍率 *= 1.29

class 技能10(职业主动技能):
    名称 = '破灭斩'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    data0 = [0, 7876, 8676, 9475, 10274, 11073, 11872, 12671, 13470, 14269, 15068, 15867, 16667, 17466, 18265, 19064, 19863, 20662, 21461, 22260, 23059, 23859, 24658, 25457, 26256, 27055, 27854, 28653, 29452, 30251, 31050, 31850, 32649, 33448, 34247, 35046, 35845, 36644, 37443, 38242, 39042, 39841, 40640, 41439, 42238, 43037, 43836, 44635, 45434, 46233, 47033, 47832, 48631, 49430, 50229, 51028, 51827, 52626, 53425, 54225, 55024, 55823, 56622, 57421, 58220, 59019, 59818, 60617, 61417, 62216, 63015]
    # 基础 = 7081
    # 成长 = 799
    CD = 14
    TP成长 = 0.10
    TP上限 = 5

class 技能11(职业主动技能):
    名称 = '夺命乱舞'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    # 基础 = 10134
    # 成长 = 1133
    #每1次横斩的攻击力：<data0>%
    data0 = [0, 652, 719, 785, 851, 917, 984, 1050, 1116, 1182, 1249, 1315, 1381, 1447, 1514, 1580, 1646, 1712, 1779, 1845, 1911, 1977, 2044, 2110, 2176, 2242, 2309, 2375, 2441, 2507, 2574, 2640, 2706, 2772, 2838, 2905, 2971, 3037, 3103, 3170, 3236, 3302, 3368, 3435, 3501, 3567, 3633, 3700, 3766, 3832, 3898, 3965, 4031, 4097, 4163, 4230, 4296, 4362, 4428, 4495, 4561, 4627, 4693, 4760, 4826, 4892, 4958, 5024, 5091, 5157, 5223]
    攻击次数 = 12
    #最后一击攻击力：<data1>%
    data1 = [0, 3358, 3698, 4039, 4380, 4720, 5061, 5402, 5742, 6083, 6424, 6764, 7105, 7446, 7786, 8127, 8468, 8808, 9149, 9490, 9830, 10171, 10512, 10852, 11193, 11534, 11875, 12215, 12556, 12897, 13237, 13578, 13919, 14259, 14600, 14941, 15281, 15622, 15963, 16303, 16644, 16985, 17325, 17666, 18007, 18347, 18688, 19029, 19369, 19710, 20051, 20391, 20732, 21073, 21413, 21754, 22095, 22435, 22776, 23117, 23458, 23798, 24139, 24480, 24820, 25161, 25502, 25842, 26183, 26524, 26864]
    攻击次数2 = 1
    CD = 18
    TP成长 = 0.10
    TP上限 = 5

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.27
        elif x == 1:
            self.倍率 *= 1.36

class 技能12(职业主动技能):
    名称 = '横扫八荒'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    # 基础 = 18970
    # 成长 = 2130
    #每1次旋转横斩的攻击力：<data0>%
    data0 = [0, 1471, 1620, 1770, 1919, 2068, 2217, 2367, 2516, 2665, 2815, 2964, 3113, 3262, 3412, 3561, 3710, 3860, 4009, 4158, 4307, 4457, 4606, 4755, 4905, 5054, 5203, 5352, 5502, 5651, 5800, 5950, 6099, 6248, 6397, 6547, 6696, 6845, 6995, 7144, 7293, 7442, 7592, 7741, 7890, 8040, 8189, 8338, 8487, 8637, 8786, 8935, 9085, 9234, 9383, 9533, 9682, 9831, 9980, 10130, 10279, 10428, 10578, 10727, 10876, 11025, 11175, 11324, 11473, 11623, 11772]
    攻击次数 = 9
    #最后一击攻击力：<data1>%
    data1 = [0, 7778, 8567, 9356, 10145, 10934, 11723, 12512, 13301, 14090, 14879, 15668, 16458, 17247, 18036, 18825, 19614, 20403, 21192, 21981, 22770, 23559, 24348, 25137, 25927, 26716, 27505, 28294, 29083, 29872, 30661, 31450, 32239, 33028, 33817, 34607, 35396, 36185, 36974, 37763, 38552, 39341, 40130, 40919, 41708, 42497, 43286, 44076, 44865, 45654, 46443, 47232, 48021, 48810, 49599, 50388, 51177, 51966, 52755, 53545, 54334, 55123, 55912, 56701, 57490, 58279, 59068, 59857, 60646, 61435, 62225]
    攻击次数2=1
    CD = 40
    TP成长 = 0.10
    TP上限 = 5

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.2587
        elif x == 1:
            self.倍率 *= 1.4187

class 技能13(职业主动技能):
    名称 = '长虹贯日'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    # 基础 = 17551
    # 成长 = 1979
    #刺击攻击力：<data0>%
    data0 = [0, 5854, 6448, 7042, 7636, 8230, 8824, 9418, 10012, 10606, 11199, 11793, 12387, 12981, 13575, 14169, 14763, 15357, 15951, 16545, 17139, 17733, 18327, 18921, 19515, 20109, 20702, 21296, 21890, 22484, 23078, 23672, 24266, 24860, 25454, 26048, 26642, 27236, 27830, 28424, 29018, 29611, 30205, 30799, 31393, 31987, 32581, 33175, 33769, 34363, 34957, 35551, 36145, 36739, 37333, 37927, 38521, 39114, 39708, 40302, 40896, 41490, 42084, 42678, 43272, 43866, 44460, 45054, 45648, 46242, 46836]
    #最后一击攻击力：<data1>%
    data1 = [0, 13660, 15046, 16432, 17818, 19203, 20589, 21975, 23361, 24747, 26133, 27519, 28904, 30290, 31676, 33062, 34448, 35834, 37220, 38605, 39991, 41377, 42763, 44149, 45535, 46921, 48306, 49692, 51078, 52464, 53850, 55236, 56621, 58007, 59393, 60779, 62165, 63551, 64937, 66322, 67708, 69094, 70480, 71866, 73252, 74638, 76023, 77409, 78795, 80181, 81567, 82953, 84339, 85724, 87110, 88496, 89882, 91268, 92654, 94039, 95425, 96811, 98197, 99583, 100969, 102355, 103740, 105126, 106512, 107898, 109284]
    攻击次数2 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.232
        elif x == 1:
            self.倍率 *= 1.323

#下劈中了，就不中冲击波。下劈。冲击波不计算伤害
class 技能14(职业主动技能):
    名称 = '穿云裂地斩-下劈'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    #下劈攻击力：<data0>%
    data0 = [0, 37580, 41393, 45206, 49018, 52831, 56643, 60456, 64268, 68081, 71893, 75706, 79519, 83331, 87144, 90956, 94769, 98581, 102394, 106206, 110019, 113832, 117644, 121457, 125269, 129082, 132894, 136707, 140519, 144332, 148145, 151957, 155770, 159582, 163395, 167207, 171020, 174832, 178645, 182458, 186270, 190083, 193895, 197708, 201520, 205333, 209145, 212958, 216771, 220583, 224396, 228208, 232021, 235833, 239646, 243458, 247271, 251084, 254896, 258709, 262521, 266334, 270146, 273959, 277771, 281584, 285397, 289209, 293022, 296834, 300647]
    #冲击波攻击力：<data1>%
    data1 = [0, 33622, 37033, 40444, 43855, 47266, 50677, 54088, 57499, 60910, 64321, 67732, 71142, 74553, 77964, 81375, 84786, 88197, 91608, 95019, 98430, 101841, 105252, 108663, 112074, 115485, 118896, 122307, 125718, 129129, 132540, 135951, 139362, 142773, 146184, 149595, 153006, 156417, 159828, 163238, 166649, 170060, 173471, 176882, 180293, 183704, 187115, 190526, 193937, 197348, 200759, 204170, 207581, 210992, 214403, 217814, 221225, 224636, 228047, 231458, 234869, 238280, 241691, 245102, 248513, 251924, 255335, 258745, 262156, 265567, 268978]
    攻击次数2 = 0
    # 基础 = 33760    #125368
    # 成长 =  3813  #3813
    #冲击波
    #基础= 30210
    #成长 = 3411
    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    
    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.22
        elif x == 1:
            self.倍率 *= 1.30

class 技能15(职业主动技能):
    名称 = '破灭轮回刺'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    # 基础 = 43816
    # 成长 = 4948
    #旋转斩击攻击力：<data0>%
    data0 = [0, 4877, 5371, 5866, 6361, 6856, 7350, 7845, 8340, 8835, 9329, 9824, 10319, 10814, 11309, 11803, 12298, 12793, 13288, 13782, 14277, 14772, 15267, 15761, 16256, 16751, 17246, 17741, 18235, 18730, 19225, 19720, 20214, 20709, 21204, 21699, 22193, 22688, 23183, 23678, 24173, 24667, 25162, 25657, 26152, 26646, 27141, 27636, 28131, 28626, 29120, 29615, 30110, 30605, 31099, 31594, 32089, 32584, 33078, 33573, 34068, 34563, 35058, 35552, 36047, 36542, 37037, 37531, 38026, 38521, 39016]
    攻击次数 = 2
    #最后一击攻击力：<data1>%
    data1 = [0, 39016, 42974, 46932, 50890, 54848, 58806, 62765, 66723, 70681, 74639, 78597, 82555, 86514, 90472, 94430, 98388, 102346, 106304, 110263, 114221, 118179, 122137, 126095, 130053, 134012, 137970, 141928, 145886, 149844, 153802, 157761, 161719, 165677, 169635, 173593, 177551, 181510, 185468, 189426, 193384, 197342, 201300, 205259, 209217, 213175, 217133, 221091, 225049, 229008, 232966, 236924, 240882, 244840, 248798, 252756, 256715, 260673, 264631, 268589, 272547, 276505, 280464, 284422, 288380, 292338, 296296, 300254, 304213, 308171, 312129]
    攻击次数2 = 1
    CD = 40
    是否有护石 = 1
    护石选项 = ['圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.33

class 技能16(职业主动技能):
    名称 = '断魂裂岩斩'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 基础 = 48000
    # 成长 = 5433
    #斩击攻击力：<data0>%
    data0 = [0, 42802, 47144, 51486, 55828, 60171, 64513, 68855, 73197, 77540, 81882, 86224, 90566, 94909, 99251, 103593, 107935, 112278, 116620, 120962, 125304, 129647, 133989, 138331, 142673, 147016, 151358, 155700, 160042, 164385, 168727, 173069, 177411, 181754, 186096, 190438, 194780, 199123, 203465, 207807, 212149, 216492, 220834, 225176, 229518, 233861, 238203, 242545, 246887, 251230, 255572, 259914, 264256, 268599, 272941, 277283, 281625, 285968, 290310, 294652, 298994, 303337, 307679, 312021, 316363, 320706, 325048, 329390, 333732, 338075, 342417]
    攻击次数 = 1
    #多段打击攻击力：<data1>%
    data1 = [0, 1070, 1178, 1287, 1395, 1504, 1612, 1721, 1829, 1938, 2047, 2155, 2264, 2372, 2481, 2589, 2698, 2806, 2915, 3024, 3132, 3241, 3349, 3458, 3566, 3675, 3783, 3892, 4001, 4109, 4218, 4326, 4435, 4543, 4652, 4760, 4869, 4978, 5086, 5195, 5303, 5412, 5520, 5629, 5737, 5846, 5955, 6063, 6172, 6280, 6389, 6497, 6606, 6714, 6823, 6932, 7040, 7149, 7257, 7366, 7474, 7583, 7691, 7800, 7909, 8017, 8126, 8234, 8343, 8451, 8560]
    攻击次数2 = 10
    CD = 45
    是否有护石 = 1
    护石选项 = ['圣痕']
    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.35

class 技能17(职业主动技能):
    名称 = '千魂弑'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    #下劈攻击力：<data0>%
    data0 = [0, 11457, 14114, 16771, 19428, 22085, 24742, 27398, 30055, 32712, 35369, 38026, 40683, 43340, 45996, 48653, 51310, 53967, 56624, 59281, 61938, 64594, 67251, 69908, 72565, 75222, 77879, 80536, 83192, 85849, 88506, 91163, 93820, 96477, 99134, 101790, 104447, 107104, 109761, 112418, 115075, 117732, 120388, 123045, 125702, 128359, 131016, 133673, 136330, 138986, 141643, 144300, 146957, 149614, 152271, 154928, 157585, 160241, 162898, 165555, 168212, 170869, 173526, 176183, 178839, 181496, 184153, 186810, 189467, 192124, 194781]
    攻击次数 = 1
    #最后一击攻击力：<data1>%
    data1 = [0, 45830, 56458, 67085, 77713, 88340, 98968, 109595, 120222, 130850, 141477, 152105, 162732, 173360, 183987, 194615, 205242, 215869, 226497, 237124, 247752, 258379, 269007, 279634, 290261, 300889, 311516, 322144, 332771, 343399, 354026, 364654, 375281, 385908, 396536, 407163, 417791, 428418, 439046, 449673, 460301, 470928, 481555, 492183, 502810, 513438, 524065, 534693, 545320, 555947, 566575, 577202, 587830, 598457, 609085, 619712, 630340, 640967, 651594, 662222, 672849, 683477, 694104, 704732, 715359, 725987, 736614, 747241, 757869, 768496, 779124]
    攻击次数2 = 1
    # 基础 = 44019
    # 成长 = 13283
    CD = 145


class 技能18(职业主动技能):
    名称 = '血战天狱'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    #第1~4击攻击力：<data0>%
    data0 = [0, 17751, 21868, 25984, 30100, 34217, 38333, 42449, 46566, 50682, 54798, 58915, 63031, 67147, 71264, 75380, 79496, 83613, 87729, 91846, 95962, 100078, 104195, 108311, 112427, 116544, 120660, 124776, 128893, 133009, 137125, 141242, 145358, 149474, 153591, 157707, 161823, 165940, 170056, 174172, 178289, 182405, 186522, 190638, 194754, 198871, 202987, 207103, 211220, 215336, 219452, 223569, 227685, 231801, 235918, 240034, 244150, 248267, 252383, 256499, 260616, 264732, 268848, 272965, 277081, 281198, 285314, 289430, 293547, 297663, 301779]
    攻击次数 = 4
    #最后一击攻击力：<data1>%
    data1 = [0, 71007, 87472, 103937, 120403, 136868, 153333, 169799, 186264, 202730, 219195, 235660, 252126, 268591, 285057, 301522, 317987, 334453, 350918, 367384, 383849, 400314, 416780, 433245, 449711, 466176, 482641, 499107, 515572, 532037, 548503, 564968, 581434, 597899, 614364, 630830, 647295, 663761, 680226, 696691, 713157, 729622, 746088, 762553, 779018, 795484, 811949, 828415, 844880, 861345, 877811, 894276, 910741, 927207, 943672, 960138, 976603, 993068, 1009534, 1025999, 1042465, 1058930, 1075395, 1091861, 1108326, 1124792, 1141257, 1157722, 1174188, 1190653, 1207119]
    攻击次数2 = 1
    # 基础 = 109081
    # 成长 = 32931
    CD = 180

class 技能19(被动技能):
    名称 = '卓越之力'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能20(被动技能):
    名称 = '超卓之心'
    所在等级 = 95
    等级上限 = 11
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.045 + 0.005 * self.等级, 5)


class 技能21(被动技能):
    名称 = '觉醒之抉择'
    所在等级 = 100
    等级上限 = 40
    基础等级 = 2
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.05 * self.等级, 5)

技能列表 = []
i = 0
while i >= 0:
    try:
        exec('技能列表.append(技能' + str(i) + '())')
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

一觉序号 = 0
二觉序号 = 0
三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        三觉序号 = 技能序号[i.名称]

护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        护石选项.append(i.名称)

符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        符文选项.append(i.名称)


class 职业属性(角色属性):
    实际名称 = '不灭战神'
    角色 = '魔枪士'
    职业 = '征战者'

    武器选项 = ['战戟']

    类型选择 = ['物理百分比']

    类型 = '物理百分比'
    防具类型 = '重甲'
    防具精通属性 = ['力量']

    主BUFF = 1.80

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        # 霸王戟等级 = 战戟猛攻等级
        self.技能栏[self.技能序号['霸王戟']].等级 = self.技能栏[self.技能序号['战戟猛攻']].等级
        self.物理攻击力 = int((self.物理攻击力 - 65) * self.技能栏[self.技能序号['战戟精通']].武器倍率() + 65)
        super().被动倍率计算()

    def 伤害指数计算(self):
        self.进图物理攻击力 = int((self.进图物理攻击力 - 40) * self.技能栏[self.技能序号['战戟精通']].武器倍率() + 40)
        super().伤害指数计算()

class 不灭战神(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 职业属性()
        self.角色属性A = 职业属性()
        self.角色属性B = 职业属性()
        self.一觉序号 = 一觉序号
        self.二觉序号 = 二觉序号
        self.三觉序号 = 三觉序号
        self.护石选项 = deepcopy(护石选项)
        self.符文选项 = deepcopy(符文选项)
